package cn.fl.audit.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.audit.dto.AudBasicsBookDTO;
import cn.fl.audit.vo.AudBasicsBookVO;

 /**
 * @Description: 信审基础台账 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AudBasicsBookVOTransform {


	/**
	 * DTO 转  VO
	 * @param po AudBasicsBookDTO
	 * @return AudBasicsBookVO
	 */
	public static AudBasicsBookVO toVO(AudBasicsBookDTO dto) {
		AudBasicsBookVO  vo = null;
		if (dto != null) { 
			vo = new AudBasicsBookVO();
			vo.setId(dto.getId());
			vo.setBookId(dto.getBookId());//信审基础台账ID
			vo.setReasonTypeCd(dto.getReasonTypeCd());//原因分类-数据字典
			vo.setBrandLevelCd(dto.getBrandLevelCd());//品牌级别-数据字典
			vo.setIsNew(dto.getIsNew());//是否新单 1-是 0-否
			vo.setProcessOpinionCd(dto.getProcessOpinionCd());//流程审核意见-数据字典
			vo.setGuarantyProCd(dto.getGuarantyProCd());//担保性质-数据字典
			vo.setFirstPaymentPct(dto.getFirstPaymentPct());//首付比率
			vo.setDepositPct(dto.getDepositPct());//保证金比率
			vo.setFinancingAmt(dto.getFinancingAmt());//融资总金额
			vo.setReturnPct(dto.getReturnPct());//收益率
			vo.setIrrPct(dto.getIrrPct());//内部收益率
			vo.setConsultingOneAmt(dto.getConsultingOneAmt());//咨询费1
			vo.setConsultingTwoAmt(dto.getConsultingTwoAmt());//咨询费2
			vo.setAnnualRatePct(dto.getAnnualRatePct());//年利率
			vo.setPolicyCd(dto.getPolicyCd());//政策类型-数据字典
			vo.setRepaymentPeriod(dto.getRepaymentPeriod());//大额还款期次

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setReasonTypeCdNm(dto.getReasonTypeCdNm());//原因分类
			vo.setBrandLevelCdNm(dto.getBrandLevelCdNm());//品牌级别
			vo.setIsNewNm(dto.getIsNewNm());//是否新单
			vo.setProcessOpinionCdNm(dto.getProcessOpinionCdNm());//流程审核意见
			vo.setGuarantyProCdNm(dto.getGuarantyProCdNm());//担保性质
			vo.setPolicyCdNm(dto.getPolicyCdNm());//政策类型
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto AudBasicsBookVO
	 * @return AudBasicsBookDTO
	 */
	public static AudBasicsBookDTO toDTO(AudBasicsBookVO vo) {
		AudBasicsBookDTO dto = null;
		if (vo != null) {
			dto = new AudBasicsBookDTO();
			dto.setId(vo.getId());
			dto.setBookId(vo.getBookId());//信审基础台账ID
			dto.setReasonTypeCd(vo.getReasonTypeCd());//原因分类-数据字典
			dto.setBrandLevelCd(vo.getBrandLevelCd());//品牌级别-数据字典
			dto.setIsNew(vo.getIsNew());//是否新单 1-是 0-否
			dto.setProcessOpinionCd(vo.getProcessOpinionCd());//流程审核意见-数据字典
			dto.setGuarantyProCd(vo.getGuarantyProCd());//担保性质-数据字典
			dto.setFirstPaymentPct(vo.getFirstPaymentPct());//首付比率
			dto.setDepositPct(vo.getDepositPct());//保证金比率
			dto.setFinancingAmt(vo.getFinancingAmt());//融资总金额
			dto.setReturnPct(vo.getReturnPct());//收益率
			dto.setIrrPct(vo.getIrrPct());//内部收益率
			dto.setConsultingOneAmt(vo.getConsultingOneAmt());//咨询费1
			dto.setConsultingTwoAmt(vo.getConsultingTwoAmt());//咨询费2
			dto.setAnnualRatePct(vo.getAnnualRatePct());//年利率
			dto.setPolicyCd(vo.getPolicyCd());//政策类型-数据字典
			dto.setRepaymentPeriod(vo.getRepaymentPeriod());//大额还款期次

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<AudBasicsBookDTO>
	 * @return List<AudBasicsBookVO>
	 */
	public static List<AudBasicsBookVO> toVOList(List<AudBasicsBookDTO> list) {
		List<AudBasicsBookVO>  voList = new ArrayList<AudBasicsBookVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudBasicsBookDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AudBasicsBookVO>
	 * @return List<AudBasicsBookDTO>
	 */
	public static List<AudBasicsBookDTO> toDTOList(List<AudBasicsBookVO> list) {
		List<AudBasicsBookDTO>  dtoList = new ArrayList<AudBasicsBookDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudBasicsBookVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
